package com.nf.dbutils.handlers;

import com.nf.dbutils.DefaultRowProcessor;
import com.nf.dbutils.ResultSetHandler;
import com.nf.dbutils.RowProcessor;

public abstract class AbstractResultSetHandler<T> implements ResultSetHandler<T> {

    /**
     * 默认行的处理器，一个匿名内部类
     * 因为接口通过默认方法的形式，把功能都已经实现了，所以不用再额外单独创建一个类
     */
    protected static final RowProcessor DEFAULT_ROW_PROCESSOR=new DefaultRowProcessor();
    /**
     * processor子类可以直接用
     * 也可以继续加公用的get方法让子访问
     */
    protected RowProcessor rowProcessor;

    public AbstractResultSetHandler() {
        this(DEFAULT_ROW_PROCESSOR);
    }

    public AbstractResultSetHandler(RowProcessor rowProcessor) {
        this.rowProcessor=rowProcessor;
    }
}
